package com.example.demo.dao.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface DbClueInfodxjMapper {

	// 新增或修改商机信息
	int insertClueInfo(@Param("param") Map<String, Object> param);

	int updateClueInfo(@Param("param") Map<String, Object> param);

	int verifyClueCode(@Param("param") Map<String, Object> param, IPage<Map<String, Object>> page);

	List<Map<String, Object>> selectUserInfoByUserId(@Param("userId") Object userId);

	int insertClueLinkManInfo(@Param("linkman") Map<String, Object> linkman);

	int deleteClueLinkManInfo(@Param("param") Map<String, Object> param);

	// 获取商机信息（含分页数据）
	List<Map<String, Object>> dbClueInfoPage(@Param("param") Map<String, Object> param,
			IPage<Map<String, Object>> page);

	List<Map<String, Object>> selectdbClueInfoByClueId(@Param("param") Map<String, Object> param,
			IPage<Map<String, Object>> page);

	List<Map<String, Object>> dbClueLinkManInfoPage(@Param("param") Map<String, Object> param,
			IPage<Map<String, Object>> page);

	List<Map<String, Object>> dbClueFollowupPage(@Param("param") Map<String, Object> param,
			IPage<Map<String, Object>> page);

	// 商机跟踪
	int insertDbClueFollowUp(@Param("param") Map<String, Object> param);

	int insertSysAttachmentBill(@Param("param") Map<String, Object> param);

	List<Map<String, Object>> selectdbClueInfoByClueId1(@Param("param") Map<String, Object> param,
			IPage<Map<String, Object>> page);

	// 获取商机跟踪历史信息
	List<Map<String, Object>> GetClueFollowList(@Param("param") Map<String, Object> param,
			IPage<Map<String, Object>> page);

	// 分配商机DistClue
	int insertSysMessageInfo(@Param("param") Map<String, Object> param);

	int insertSysMessageUser(@Param("param") Map<String, Object> param);

	// 战败审核线索列表 GetCheckFailClueList
	List<Map<String, Object>> GetCheckFailClueList(@Param("param") Map<String, Object> param,
			IPage<Map<String, Object>> page);

	// 战败审核CheckFailClue
	int CheckFailClue(@Param("param") Map<String, Object> param);

	// 删除商机 DelClue
	int DelClue(@Param("param") Map<String, Object> param);
	

	List<Map<String, Object>> selectClueSource(@Param("param") Map<String, Object> param,
			IPage<Map<String, Object>> page);

	List<Map<String, Object>> selectCustName(@Param("param") Map<String, Object> param,
			IPage<Map<String, Object>> page);

	List<Map<String, Object>> selectIntentProduct(@Param("param") Map<String, Object> param,
			IPage<Map<String, Object>> page);

	List<Map<String, Object>> selectIntentLevel(@Param("param") Map<String, Object> param,
			IPage<Map<String, Object>> page);



}
